var obj1 = { name: 'why', age: 18 } // 创建了一个对象[语法糖]
var obj2 = new Object() // 创建了一个对象

function Person() {
  // 1.在内存中创建一个对象
  // var obj = {}

  // 2.this的赋值
  // this = obj

  // 3.将Person的显示原型prototype,赋值给前面创建出来对象的隐式原型__proto__
  // this.__proto__ = Person.prototype

  // 4.执行构造函数代码体

  // 5.返回这个对象
  // return obj

}

var p = new Person()

// Object
console.log(obj1.__proto__.constructor.name);

console.log(obj1.__proto__ === Object.prototype);

console.log('-----------');
console.log(Object.prototype.constructor);
console.log(Object.__proto__); // null


// toString()
// valueOf()
console.log(Object.getOwnPropertyDescriptors(Object.prototype));